home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 22 / CU Amiga Magazine's Super CD-ROM 22 (1998)(EMAP Images)(GB)[!][issue 1998-05].iso / PowerPC / Programming / PPCSmallEiffel / bin_c / compile_to_c34.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  23.5 KB  |  787 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "compile_to_c.h"
  9. void r209c_type_for_external_in(T0* a1){
  10. /*IF*//*AF*//*AE*/
  11. /*[IRF3.6c_type_for_result_in*/{T0* b1=a1;
  12. /*[IRF3.6c_type_for_argument_in*/{T0* c1=b1;
  13. r7append(((T7*)c1),((T0*)ms104_470));
  14. }/*]*/
  15. }/*]*/
  16. /*FI*/}
  17. T0* r209generic_list(T209* C){
  18. T0* R=NULL;
  19. r209fatal_error_generic_list(C);
  20. return R;
  21. }
  22. /*No:TYPE_REAL.is_formal_generic*/
  23. void r209demangling_in(T0* a1){
  24. /*IF*//*AF*//*AE*/
  25. r7extend(((T7*)a1),'E');
  26. /*FI*/r7extend(((T7*)a1),'\40');
  27. r7append(((T7*)a1),r209run_time_mark());
  28. }
  29. /*No:TYPE_REAL.is_real*/
  30. /*No:TYPE_REAL.is_bit*/
  31. void r209fatal_error_generic_list(T209* C){
  32. r683add_type((T0*)C,((T0*)ms12_291));
  33. r683print_as_fatal_error(((T683*)(oBC364eh)));
  34. }
  35. /*No:TYPE_REAL.fz_new*/
  36. /*No:TYPE_REAL.us_real*/
  37. T0* r209smallest_ancestor(T209* C,T0* a1){
  38. T0* R=NULL;
  39. T0* _rto=NULL;
  40. _rto=X291run_type(a1);
  41. /*IF*/if (X291is_integer(_rto)) {
  42. R=(T0*)C;
  43. }
  44.  else if (X291is_real(_rto)) {
  45. R=(T0*)C;
  46. }
  47.  else if (X291is_double(_rto)) {
  48. R=a1;
  49. }
  50. else {
  51. R=r657smallest_ancestor(((T657*)(r209type_real_ref())),_rto);
  52. }
  53. /*FI*/return R;
  54. }
  55. /*No:TYPE_REAL.is_boolean*/
  56. /*No:TYPE_REAL.is_double*/
  57. T0* r209run_class(T209* C){
  58. T0* R=NULL;
  59. R=r604run_class((T0*)C);
  60. return R;
  61. }
  62. T0* r209run_time_mark(void){
  63. T0* R=NULL;
  64. R=((T0*)ms23_473);
  65. return R;
  66. }
  67. /*No:TYPE_REAL.c_initialize*/
  68. /*No:TYPE_REAL.cast_to_ref*/
  69. void r209gc_mark_in(T0* a1){
  70. r7append(((T7*)a1),((T0*)ms107_470));
  71. r2append_in(4,a1);
  72. }
  73. int r209is_a_in(T209* C,T0* a1,T0* a2){
  74. int R=0;
  75. T0* _ct=NULL;
  76. T0* _t2=NULL;
  77. T0* _t1=NULL;
  78. /*IF*/if ((r209written_mark())==((void*)(X291written_mark(a1)))) {
  79. R=1;
  80. }
  81. else {
  82. _ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
  83. _t1=r209to_runnable(C,_ct);
  84. _t2=X291to_runnable(a1,_ct);
  85. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  86. R=1;
  87. }
  88. else {
  89. R=X291is_a(_t1,_t2);
  90. }
  91. /*FI*/}
  92. /*FI*/return R;
  93. }
  94. T0* r209look_up_for(T209* C,T0* a1,T0* a2){
  95. T0* R=NULL;
  96. R=r605look_up_for(((T605*)(r209base_class(C))),a1,a2);
  97. return R;
  98. }
  99. /*No:TYPE_REAL.c_header_pass1*/
  100. /*No:TYPE_REAL.us_real_ref*/
  101. /*No:TYPE_REAL.c_type_for_result_in*/
  102. /*No:TYPE_REAL.expanded_initializer*/
  103. /*No:TYPE_REAL.fz_float*/
  104. /*No:TYPE_REAL.fz_void*/
  105. /*No:TYPE_REAL.fz_dot*/
  106. /*No:TYPE_REAL.is_generic*/
  107. int fBC209used_as_reference=0;
  108. void r209used_as_reference(void){
  109. if (fBC209used_as_reference==0){
  110. fBC209used_as_reference=1;
  111. r209load_ref(((T0*)ms24_473));
  112. }}
  113. /*No:TYPE_REAL.c_header_pass2*/
  114. /*No:TYPE_REAL.gc_define1*/
  115. /*No:TYPE_REAL.need_c_struct*/
  116. /*No:TYPE_REAL.is_reference*/
  117. /*No:TYPE_REAL.gc_info_in*/
  118. void r209error(T0* a1,T0* a2){
  119. r683add_position(a1);
  120. r683error(((T683*)(oBC364eh)),a2);
  121. }
  122. T0* r209base_class(T209* C){
  123. T0* R=NULL;
  124. T0* _bcn=NULL;
  125. _bcn=(((T209*)C))->_base_class_name/*4*/;
  126. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  127. R=r451base_class(((T451*)_bcn));
  128. }
  129. else {
  130. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  131. r7append(((T7*)(oBC683explanation)),b1);
  132. }/*]*/
  133. r683add_type((T0*)C,((T0*)ms67_470));
  134. r683print_as_fatal_error(((T683*)(oBC364eh)));
  135. }
  136. /*FI*/return R;
  137. }
  138. /*No:TYPE_REAL.call_gc_sweep_in*/
  139. /*No:TYPE_REAL.gc_define2*/
  140. /*No:TYPE_REAL.need_gc_mark_function*/
  141. /*No:TYPE_REAL.is_any*/
  142. /*No:TYPE_REAL.to_reference*/
  143. /*No:TYPE_REAL.c_header_pass3*/
  144. /*No:TYPE_REAL.base_class_name*/
  145. /*No:TYPE_REAL.is_expanded*/
  146. /*No:TYPE_REAL.is_basic_eiffel_expanded*/
  147. /*No:TYPE_REAL.is_none*/
  148. /*No:TYPE_REAL.to_expanded*/
  149. /*No:TYPE_REAL.is_integer*/
  150. /*No:TYPE_REAL.c_header_pass4*/
  151. /*No:TYPE_STRING.id*/
  152. /*No:TYPE_STRING.gc_set_unmarked_in*/
  153. int r491has_creation(T491* C,T0* a1){
  154. int R=0;
  155. R=r605has_creation(((T605*)(r491base_class(C))),a1);
  156. return R;
  157. }
  158. /*No:TYPE_STRING.is_anchored*/
  159. /*No:TYPE_STRING.is_array*/
  160. /*No:TYPE_STRING.fz_typedef*/
  161. /*No:TYPE_STRING.fz_else*/
  162. int r491is_a(T491* C,T0* a1){
  163. int R=0;
  164. /*IF*/if (X291is_string(a1)) {
  165. R=1;
  166. }
  167. else {
  168. R=r605is_subclass_of(((T605*)(r491base_class(C))),X291base_class(a1));
  169. }
  170. /*FI*//*IF*/if (!(R)) {
  171. r683add_type((T0*)C,((T0*)ms71_470));
  172. r683add_type(a1,((T0*)ms67_470));
  173. }
  174. /*FI*/return R;
  175. }
  176. void r491gcmt_max_in(T0* a1){
  177. r7append(((T7*)a1),((T0*)ms55_291));
  178. r2append_in(7,a1);
  179. }
  180. /*No:TYPE_STRING.c_initialize_in*/
  181. /*No:TYPE_STRING.fz_gc_sweep*/
  182. /*No:TYPE_STRING.c_type_for_argument_in*/
  183. void r491standard_c_object_model(T491* C){
  184. T0* _rc=NULL;
  185. int _mem_id=0;
  186. T0* _wa=NULL;
  187. _rc=r491run_class(C);
  188. _mem_id=(((T355*)((T355*)_rc)))->_id/*4*/;
  189. _wa=r355writable_attributes(((T355*)_rc));
  190. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms103_470));
  191. r7extend(((T7*)(oBC291tmp_string)),'T');
  192. r2append_in(_mem_id,oBC291tmp_string);
  193. r7extend(((T7*)(oBC291tmp_string)),'\40');
  194. r7extend(((T7*)(oBC291tmp_string)),'M');
  195. r2append_in(_mem_id,oBC291tmp_string);
  196. r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
  197. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
  198. /*]*/
  199. /*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c);
  200. /*]*/
  201. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
  202. /*]*/
  203. r7extend(((T7*)(oBC291tmp_string)),'T');
  204. r2append_in(_mem_id,oBC291tmp_string);
  205. r7extend(((T7*)(oBC291tmp_string)),'\40');
  206. r7extend(((T7*)(oBC291tmp_string)),'M');
  207. r2append_in(_mem_id,oBC291tmp_string);
  208. r7extend(((T7*)(oBC291tmp_string)),'\75');
  209. r355c_object_model_in(((T355*)_rc),oBC291tmp_string);
  210. r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
  211. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
  212. /*]*/
  213. r324swap_on_h(((T324*)(oBC364cpp)));
  214. }
  215. /*No:TYPE_STRING.fz_se_cmpt*/
  216. void r491gc_call_new_in(T0* a1){
  217. r7append(((T7*)a1),((T0*)ms115_470));
  218. r2append_in(7,a1);
  219. r7extend(((T7*)a1),'\50');
  220. r7extend(((T7*)a1),'\51');
  221. }
  222. int r491space_for_pointer(void){
  223. int R=0;
  224. void* _p=0;
  225. R=sizeof(T8);
  226. return R;
  227. }
  228. /*No:TYPE_STRING.run_type*/
  229. /*No:TYPE_STRING.is_pointer*/
  230. void r491gc_align_mark_in(T0* a1){
  231. r7append(((T7*)a1),((T0*)ms58_291));
  232. r2append_in(7,a1);
  233. }
  234. /*No:TYPE_STRING.is_dummy_expanded*/
  235. void r491gcmt_used_in(T0* a1){
  236. r7append(((T7*)a1),((T0*)ms56_291));
  237. r2append_in(7,a1);
  238. }
  239. /*No:TYPE_STRING.is_string*/
  240. /*No:TYPE_STRING.space_for_variable*/
  241. void r491standard_c_struct(T491* C){
  242. T0* _t=NULL;
  243. T0* _a=NULL;
  244. int _mem_id=0;
  245. int _i=0;
  246. T0* _wa=NULL;
  247. _mem_id=7;
  248. _wa=r355writable_attributes(((T355*)(r491run_class(C))));
  249. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms125_470));
  250. r7extend(((T7*)(oBC291tmp_string)),'S');
  251. r2append_in(_mem_id,oBC291tmp_string);
  252. r7extend(((T7*)(oBC291tmp_string)),'\173');
  253. /*IF*/{/*AT*//*IF*/if (r355is_tagged(((T355*)(r491run_class(C))))) {
  254. r7append(((T7*)(oBC291tmp_string)),((T0*)ms4_291));
  255. }
  256. /*FI*/}
  257. /*FI*//*IF*/if ((_wa)!=((void*)(NULL))) {
  258. _i=(((T280*)((T280*)_wa)))->_upper/*12*/;
  259. while (!((_i)==(0))) {
  260. _a=r280item(((T280*)_wa),_i);
  261. _t=X291run_type((((T820*)((T820*)_a)))->_result_type/*24*/);
  262. X291c_type_for_result_in(_t,oBC291tmp_string);
  263. r7extend(((T7*)(oBC291tmp_string)),'\40');
  264. r7extend(((T7*)(oBC291tmp_string)),'\137');
  265. r7append(((T7*)(oBC291tmp_string)),X776to_string((((T820*)((T820*)_a)))->_name/*16*/));
  266. r7extend(((T7*)(oBC291tmp_string)),'\73');
  267. _i=(_i)-(1);
  268. }
  269. }
  270. /*FI*/r7extend(((T7*)(oBC291tmp_string)),'\175');
  271. r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
  272. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
  273. /*]*/
  274. /*IF*//*AF*//*AE*/
  275. /*FI*/}
  276. /*No:TYPE_STRING.is_like_feature*/
  277. /*No:TYPE_STRING.fz_t0_star*/
  278. /*No:TYPE_STRING.is_like_current*/
  279. /*No:TYPE_STRING.us_capacity*/
  280. void r491make(T491* C,T0* a1){
  281. {T451*n=malloc(sizeof(*n));
  282. *n=M451;
  283. r451make(n,((T0*)ms25_473),a1);
  284. C->_base_class_name=(T0*)n;
  285. }
  286. }
  287. /*No:TYPE_STRING.nb_errors*/
  288. /*No:TYPE_STRING.fz_gc*/
  289. /*No:TYPE_STRING.us_string*/
  290. /*No:TYPE_STRING.gc_if_marked_in*/
  291. /*No:TYPE_STRING.fz_gc_sweep_pool*/
  292. int fBC491check_type=0;
  293. void r491check_type(T491* C){
  294. if (fBC491check_type==0){
  295. T0* _rf=NULL;
  296. T0* _rc=NULL;
  297. T0* _bc=NULL;
  298. fBC491check_type=1;
  299. _bc=r491base_class(C);
  300. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  301. _rc=r491run_class(C);
  302. }
  303. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  304. /*IF*/if ((((T605*)((T605*)_bc)))->_is_expanded/*20*/) {
  305. r491error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T491*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms2_491));
  306. }
  307. /*FI*/}
  308. /*FI*/_rc=r491run_class(C);
  309. _rf=r355get_feature_with(((T355*)_rc),((T0*)ms55_473));
  310. _rf=r355get_feature_with(((T355*)_rc),((T0*)ms60_473));
  311. _rf=r355get_feature_with(((T355*)_rc),((T0*)ms130_473));
  312. r355set_at_run_time(((T355*)(X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_result_type/*24*/)))));
  313. }}
  314. /*No:TYPE_STRING.mapping_cast*/
  315. /*No:TYPE_STRING.start_position*/
  316. /*No:TYPE_STRING.c_type_for_target_in*/
  317. /*No:TYPE_STRING.fz_printf*/
  318. void r491gc_free_in(T0* a1){
  319. r7append(((T7*)a1),((T0*)ms57_291));
  320. r2append_in(7,a1);
  321. }
  322. /*No:TYPE_STRING.gc_set_marked_in*/
  323. /*No:TYPE_STRING.fz_gc_mark*/
  324. /*No:TYPE_STRING.fz_inako*/
  325. /*No:TYPE_STRING.standard_gc_initialize*/
  326. /*No:TYPE_STRING.gc_initialize*/
  327. /*No:TYPE_STRING.fz_00*/
  328. /*No:TYPE_STRING.is_character*/
  329. /*No:TYPE_STRING.is_user_expanded*/
  330. T0* r491written_mark(void){
  331. T0* R=NULL;
  332. R=((T0*)ms25_473);
  333. return R;
  334. }
  335. /*No:TYPE_STRING.is_run_type*/
  336. T0* r491to_runnable(T491* C,T0* a1){
  337. T0* R=NULL;
  338. R=(T0*)C;
  339. r491check_type(C);
  340. return R;
  341. }
  342. /*No:TYPE_STRING.fz_c_if_eq_null*/
  343. /*No:TYPE_STRING.fz_10*/
  344. void r491c_type_for_external_in(T0* a1){
  345. /*IF*/{/*AT*/r7append(((T7*)a1),((T0*)ms133_470));
  346. r7extend(((T7*)a1),'\52');
  347. }
  348. /*FI*/}
  349. T0* r491generic_list(T491* C){
  350. T0* R=NULL;
  351. r491fatal_error_generic_list(C);
  352. return R;
  353. }
  354. /*No:TYPE_STRING.is_formal_generic*/
  355. /*No:TYPE_STRING.fz_null*/
  356. void r491demangling_in(T0* a1){
  357. /*IF*/{/*AT*/r7extend(((T7*)a1),'R');
  358. }
  359. /*FI*/r7extend(((T7*)a1),'\40');
  360. r7append(((T7*)a1),r491run_time_mark());
  361. }
  362. /*No:TYPE_STRING.is_real*/
  363. void r491gc_info_nb_in(T0* a1){
  364. r7append(((T7*)a1),((T0*)ms59_291));
  365. r2append_in(7,a1);
  366. }
  367. /*No:TYPE_STRING.fz_14*/
  368. /*No:TYPE_STRING.is_bit*/
  369. void r491fatal_error_generic_list(T491* C){
  370. r683add_type((T0*)C,((T0*)ms12_291));
  371. r683print_as_fatal_error(((T683*)(oBC364eh)));
  372. }
  373. /*No:TYPE_STRING.fz_new*/
  374. /*No:TYPE_STRING.fz_c_void_args*/
  375. T0* r491smallest_ancestor(T491* C,T0* a1){
  376. T0* R=NULL;
  377. T0* _rto_bc=NULL;
  378. T0* _rto=NULL;
  379. _rto=X291run_type(a1);
  380. /*IF*/if (X291is_string(_rto)) {
  381. R=(T0*)C;
  382. }
  383.  else if (X291is_none(_rto)) {
  384. R=(T0*)C;
  385. }
  386.  else if (X291is_expanded(_rto)) {
  387. R=X291smallest_ancestor(_rto,(T0*)C);
  388. }
  389. else {
  390. _rto_bc=X291base_class(_rto);
  391. /*IF*/if (r605is_subclass_of(((T605*)_rto_bc),r491base_class(C))) {
  392. R=(T0*)C;
  393. }
  394. else {
  395. R=X291smallest_ancestor(_rto,(T0*)C);
  396. }
  397. /*FI*/}
  398. /*FI*/return R;
  399. }
  400. /*No:TYPE_STRING.fz_16*/
  401. void r491standard_gc_info_in(T0* a1){
  402. r7append(((T7*)a1),((T0*)ms119_470));
  403. r7extend(((T7*)a1),'\50');
  404. r7extend(((T7*)a1),'\42');
  405. r7append(((T7*)a1),r491run_time_mark());
  406. r7append(((T7*)a1),((T0*)ms144_470));
  407. r491gc_info_nb_in(a1);
  408. r7append(((T7*)a1),((T0*)ms148_470));
  409. r7append(((T7*)a1),((T0*)ms119_470));
  410. r7extend(((T7*)a1),'\50');
  411. r7extend(((T7*)a1),'\42');
  412. r491gcmt_used_in(a1);
  413. r7append(((T7*)a1),((T0*)ms144_470));
  414. r491gcmt_used_in(a1);
  415. r7append(((T7*)a1),((T0*)ms148_470));
  416. r7append(((T7*)a1),((T0*)ms119_470));
  417. r7extend(((T7*)a1),'\50');
  418. r7extend(((T7*)a1),'\42');
  419. r491gcmt_max_in(a1);
  420. r7append(((T7*)a1),((T0*)ms144_470));
  421. r491gcmt_max_in(a1);
  422. r7append(((T7*)a1),((T0*)ms148_470));
  423. }
  424. /*No:TYPE_STRING.is_boolean*/
  425. /*No:TYPE_STRING.standard_c_typedef*/
  426. /*No:TYPE_STRING.us_count*/
  427. /*No:TYPE_STRING.is_double*/
  428. /*No:TYPE_STRING.us_storage*/
  429. T0* r491run_class(T491* C){
  430. T0* R=NULL;
  431. R=r604run_class((T0*)C);
  432. return R;
  433. }
  434. /*No:TYPE_STRING.fz_extern*/
  435. void r491gcmt_in(T0* a1){
  436. r7append(((T7*)a1),((T0*)ms54_291));
  437. r2append_in(7,a1);
  438. }
  439. T0* r491run_time_mark(void){
  440. T0* R=NULL;
  441. R=((T0*)ms25_473);
  442. return R;
  443. }
  444. /*No:TYPE_STRING.c_initialize*/
  445. void r491cast_to_ref(T491* C){
  446. X291cast_to_ref(/*(IRF4.4run_type*/((T0*)(C))/*)*/);
  447. }
  448. void r491gc_mark_in(T0* a1){
  449. r7append(((T7*)a1),((T0*)ms107_470));
  450. r2append_in(7,a1);
  451. }
  452. int r491is_a_in(T491* C,T0* a1,T0* a2){
  453. int R=0;
  454. T0* _ct=NULL;
  455. T0* _t2=NULL;
  456. T0* _t1=NULL;
  457. /*IF*/if ((r491written_mark())==((void*)(X291written_mark(a1)))) {
  458. R=1;
  459. }
  460. else {
  461. _ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
  462. _t1=r491to_runnable(C,_ct);
  463. _t2=X291to_runnable(a1,_ct);
  464. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  465. R=1;
  466. }
  467. else {
  468. R=X291is_a(_t1,_t2);
  469. }
  470. /*FI*/}
  471. /*FI*/return R;
  472. }
  473. T0* r491look_up_for(T491* C,T0* a1,T0* a2){
  474. T0* R=NULL;
  475. R=r605look_up_for(((T605*)(r491base_class(C))),a1,a2);
  476. return R;
  477. }
  478. void r491c_header_pass1(T491* C){
  479. r491check_type(C);
  480. /*[IRF3.2standard_c_typedef*/{int _mem_id=0;
  481. _mem_id=7;
  482. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
  483. /*]*/
  484. /*IF*/{/*AT*/r7append(((T7*)(oBC291tmp_string)),((T0*)ms131_470));
  485. r7append(((T7*)(oBC291tmp_string)),((T0*)ms125_470));
  486. r7extend(((T7*)(oBC291tmp_string)),'S');
  487. r2append_in(_mem_id,oBC291tmp_string);
  488. r7extend(((T7*)(oBC291tmp_string)),'\40');
  489. r7extend(((T7*)(oBC291tmp_string)),'T');
  490. r2append_in(_mem_id,oBC291tmp_string);
  491. r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
  492. }
  493. /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
  494. /*]*/
  495. }/*]*/
  496. }
  497. /*No:TYPE_STRING.c_type_for_result_in*/
  498. /*No:TYPE_STRING.expanded_initializer*/
  499. /*No:TYPE_STRING.fz_int*/
  500. void r491gc_declare_h_in(T0* a1){
  501. r7append(((T7*)a1),((T0*)ms105_470));
  502. r2append_in(7,a1);
  503. r7append(((T7*)a1),((T0*)ms60_291));
  504. r2append_in(7,a1);
  505. r7append(((T7*)a1),((T0*)ms61_291));
  506. }
  507. void r491standard_gc_define1(T491* C){
  508. int _rcid=0;
  509. T0* _rc=NULL;
  510. _rc=r491run_class(C);
  511. _rcid=(((T355*)((T355*)_rc)))->_id/*4*/;
  512. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms131_470));
  513. r7append(((T7*)(oBC291tmp_string)),((T0*)ms125_470));
  514. r7extend(((T7*)(oBC291tmp_string)),'B');
  515. r2append_in(_rcid,oBC291tmp_string);
  516. r7extend(((T7*)(oBC291tmp_string)),'\40');
  517. r7append(((T7*)(oBC291tmp_string)),((T0*)ms105_470));
  518. r2append_in(_rcid,oBC291tmp_string);
  519. r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
  520. r7append(((T7*)(oBC291tmp_string)),((T0*)ms125_470));
  521. r7extend(((T7*)(oBC291tmp_string)),'B');
  522. r2append_in(_rcid,oBC291tmp_string);
  523. r7append(((T7*)(oBC291tmp_string)),((T0*)ms13_291));
  524. r2append_in(_rcid,oBC291tmp_string);
  525. r7append(((T7*)(oBC291tmp_string)),((T0*)ms14_291));
  526. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
  527. /*]*/
  528. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms105_470));
  529. r2append_in(_rcid,oBC291tmp_string);
  530. r7extend(((T7*)(oBC291tmp_string)),'\52');
  531. r7extend(((T7*)(oBC291tmp_string)),'\52');
  532. r491gcmt_in(oBC291tmp_string);
  533. r324put_extern1(((T324*)(oBC364cpp)),oBC291tmp_string);
  534. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms111_470));
  535. r7extend(((T7*)(oBC291tmp_string)),'\40');
  536. r491gcmt_used_in(oBC291tmp_string);
  537. r324put_extern2(((T324*)(oBC364cpp)),oBC291tmp_string,'0');
  538. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms111_470));
  539. r7extend(((T7*)(oBC291tmp_string)),'\40');
  540. r491gcmt_max_in(oBC291tmp_string);
  541. r324put_extern2(((T324*)(oBC364cpp)),oBC291tmp_string,'8');
  542. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms105_470));
  543. r2append_in(_rcid,oBC291tmp_string);
  544. r7extend(((T7*)(oBC291tmp_string)),'\52');
  545. r491gc_free_in(oBC291tmp_string);
  546. r324put_extern5(((T324*)(oBC364cpp)),oBC291tmp_string,((T0*)ms117_470));
  547. /*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_info_flag/*4*/) {
  548. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms111_470));
  549. r7extend(((T7*)(oBC291tmp_string)),'\40');
  550. r491gc_info_nb_in(oBC291tmp_string);
  551. r324put_extern2(((T324*)(oBC364cpp)),oBC291tmp_string,'0');
  552. }
  553. /*FI*/}
  554. /*No:TYPE_STRING.fz_void*/
  555. /*No:TYPE_STRING.fz_dot*/
  556. /*No:TYPE_STRING.is_generic*/
  557. /*No:TYPE_STRING.used_as_reference*/
  558. /*No:TYPE_STRING.c_header_pass2*/
  559. /*No:TYPE_STRING.gc_define1*/
  560. /*No:TYPE_STRING.need_c_struct*/
  561. /*No:TYPE_STRING.gc_info_in*/
  562. /*No:TYPE_STRING.is_reference*/
  563. void r491error(T0* a1,T0* a2){
  564. r683add_position(a1);
  565. r683error(((T683*)(oBC364eh)),a2);
  566. }
  567. T0* r491base_class(T491* C){
  568. T0* R=NULL;
  569. T0* _bcn=NULL;
  570. _bcn=(((T491*)C))->_base_class_name/*4*/;
  571. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  572. R=r451base_class(((T451*)_bcn));
  573. }
  574. else {
  575. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  576. r7append(((T7*)(oBC683explanation)),b1);
  577. }/*]*/
  578. r683add_type((T0*)C,((T0*)ms67_470));
  579. r683print_as_fatal_error(((T683*)(oBC364eh)));
  580. }
  581. /*FI*/return R;
  582. }
  583. /*No:TYPE_STRING.call_gc_sweep_in*/
  584. /*No:TYPE_STRING.gc_define2*/
  585. /*No:TYPE_STRING.need_gc_mark_function*/
  586. void r491standard_gc_define2(T491* C){
  587. int _rcid=0;
  588. T0* _rc=NULL;
  589. _rc=r491run_class(C);
  590. _rcid=(((T355*)((T355*)_rc)))->_id/*4*/;
  591. r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
  592. r7extend(((T7*)(oBC291header)),'\40');
  593. r7append(((T7*)(oBC291header)),((T0*)ms109_470));
  594. r2append_in(_rcid,oBC291header);
  595. r7extend(((T7*)(oBC291header)),'\50');
  596. r7append(((T7*)(oBC291header)),((T0*)ms105_470));
  597. r2append_in(_rcid,oBC291header);
  598. r7extend(((T7*)(oBC291header)),'\52');
  599. r7extend(((T7*)(oBC291header)),'b');
  600. r7extend(((T7*)(oBC291header)),'\54');
  601. r7append(((T7*)(oBC291header)),((T0*)ms105_470));
  602. r2append_in(_rcid,oBC291header);
  603. r7extend(((T7*)(oBC291header)),'\52');
  604. r7extend(((T7*)(oBC291header)),'h');
  605. r7extend(((T7*)(oBC291header)),'\51');
  606. r7copy(((T7*)(oBC291body)),((T0*)ms15_291));
  607. /*[IRF3.6gc_if_marked_in*/{T0* b1=oBC291body;
  608. r7append(((T7*)b1),((T0*)ms64_291));
  609. }/*]*/
  610. /*[IRF3.6gc_set_unmarked_in*/{T0* b1=oBC291body;
  611. r7append(((T7*)b1),((T0*)ms63_291));
  612. }/*]*/
  613. r7extend(((T7*)(oBC291body)),'\175');
  614. r7append(((T7*)(oBC291body)),((T0*)ms10_470));
  615. r7extend(((T7*)(oBC291body)),'\n');
  616. /*[IRF3.6gc_if_unmarked_in*/{T0* b1=oBC291body;
  617. r7append(((T7*)b1),((T0*)ms65_291));
  618. }/*]*/
  619. r7append(((T7*)(oBC291body)),((T0*)ms16_291));
  620. r491gc_free_in(oBC291body);
  621. r7append(((T7*)(oBC291body)),((T0*)ms17_291));
  622. r491gc_free_in(oBC291body);
  623. r7append(((T7*)(oBC291body)),((T0*)ms18_291));
  624. /*IF*/{/*AT*/r7append(((T7*)(oBC291body)),((T0*)ms19_291));
  625. r2append_in(_rcid,oBC291body);
  626. r7append(((T7*)(oBC291body)),((T0*)ms134_470));
  627. }
  628. /*FI*/r7append(((T7*)(oBC291body)),((T0*)ms20_291));
  629. r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
  630. r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
  631. r7extend(((T7*)(oBC291header)),'\40');
  632. r7append(((T7*)(oBC291header)),((T0*)ms108_470));
  633. r2append_in(_rcid,oBC291header);
  634. r7append(((T7*)(oBC291header)),((T0*)ms97_470));
  635. r7copy(((T7*)(oBC291body)),((T0*)ms21_291));
  636. r2append_in(_rcid,oBC291body);
  637. r7append(((T7*)(oBC291body)),((T0*)ms22_291));
  638. r491gcmt_in(oBC291body);
  639. r7extend(((T7*)(oBC291body)),'\53');
  640. r491gcmt_used_in(oBC291body);
  641. r7append(((T7*)(oBC291body)),((T0*)ms23_291));
  642. r491gcmt_used_in(oBC291body);
  643. r7append(((T7*)(oBC291body)),((T0*)ms24_291));
  644. r7append(((T7*)(oBC291body)),((T0*)ms25_291));
  645. r2append_in(_rcid,oBC291body);
  646. r7append(((T7*)(oBC291body)),((T0*)ms26_291));
  647. r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
  648. r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
  649. r7extend(((T7*)(oBC291header)),'\40');
  650. r491gc_mark_in(oBC291header);
  651. r7extend(((T7*)(oBC291header)),'\50');
  652. r7extend(((T7*)(oBC291header)),'T');
  653. r2append_in(_rcid,oBC291header);
  654. r7extend(((T7*)(oBC291header)),'\52');
  655. r7extend(((T7*)(oBC291header)),'o');
  656. r7extend(((T7*)(oBC291header)),'\51');
  657. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291body)))))->_count)=(0);
  658. /*]*/
  659. r491gc_declare_h_in(oBC291body);
  660. /*[IRF3.6gc_if_unmarked_in*/{T0* b1=oBC291body;
  661. r7append(((T7*)b1),((T0*)ms65_291));
  662. }/*]*/
  663. /*[IRF3.6gc_set_marked_in*/{T0* b1=oBC291body;
  664. r7append(((T7*)b1),((T0*)ms62_291));
  665. }/*]*/
  666. /*IF*/if (r355gc_mark_to_follow(((T355*)_rc))) {
  667. r355gc_mark_in(((T355*)_rc),oBC291body);
  668. }
  669. /*FI*/r7extend(((T7*)(oBC291body)),'\175');
  670. r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
  671. r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
  672. r7extend(((T7*)(oBC291header)),'\40');
  673. r491gc_align_mark_in(oBC291header);
  674. r7extend(((T7*)(oBC291header)),'\50');
  675. r7extend(((T7*)(oBC291header)),'T');
  676. r2append_in(_rcid,oBC291header);
  677. r7extend(((T7*)(oBC291header)),'\52');
  678. r7extend(((T7*)(oBC291header)),'o');
  679. r7extend(((T7*)(oBC291header)),'\54');
  680. r7append(((T7*)(oBC291header)),((T0*)ms105_470));
  681. r2append_in(_rcid,oBC291header);
  682. r7extend(((T7*)(oBC291header)),'\52');
  683. r7extend(((T7*)(oBC291header)),'B');
  684. r7extend(((T7*)(oBC291header)),'\51');
  685. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291body)))))->_count)=(0);
  686. /*]*/
  687. r491gc_declare_h_in(oBC291body);
  688. r7append(((T7*)(oBC291body)),((T0*)ms27_291));
  689. r491gc_mark_in(oBC291body);
  690. r7append(((T7*)(oBC291body)),((T0*)ms28_291));
  691. r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
  692. r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
  693. r7extend(((T7*)(oBC291header)),'\40');
  694. r7append(((T7*)(oBC291header)),((T0*)ms116_470));
  695. r2append_in(_rcid,oBC291header);
  696. r7append(((T7*)(oBC291header)),((T0*)ms97_470));
  697. r7copy(((T7*)(oBC291body)),((T0*)ms29_291));
  698. r2append_in(_rcid,oBC291body);
  699. r7append(((T7*)(oBC291body)),((T0*)ms30_291));
  700. r491gcmt_used_in(oBC291body);
  701. r7append(((T7*)(oBC291body)),((T0*)ms31_291));
  702. /*IF*/if (r355is_tagged(((T355*)_rc))) {
  703. r7append(((T7*)(oBC291body)),((T0*)ms32_291));
  704. r2append_in(_rcid,oBC291body);
  705. r7append(((T7*)(oBC291body)),((T0*)ms134_470));
  706. }
  707. /*FI*/r7append(((T7*)(oBC291body)),((T0*)ms33_291));
  708. r491gcmt_max_in(oBC291body);
  709. r7append(((T7*)(oBC291body)),((T0*)ms34_291));
  710. r491gcmt_max_in(oBC291body);
  711. r7append(((T7*)(oBC291body)),((T0*)ms35_291));
  712. r491gcmt_in(oBC291body);
  713. r7append(((T7*)(oBC291body)),((T0*)ms36_291));
  714. r491gcmt_in(oBC291body);
  715. r7append(((T7*)(oBC291body)),((T0*)ms37_291));
  716. r491gcmt_max_in(oBC291body);
  717. r7append(((T7*)(oBC291body)),((T0*)ms38_291));
  718. r491gcmt_in(oBC291body);
  719. r7append(((T7*)(oBC291body)),((T0*)ms39_291));
  720. r491gc_free_in(oBC291body);
  721. r7append(((T7*)(oBC291body)),((T0*)ms40_291));
  722. r7append(((T7*)(oBC291body)),((T0*)ms41_291));
  723. r491gc_align_mark_in(oBC291body);
  724. r7append(((T7*)(oBC291body)),((T0*)ms42_291));
  725. r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
  726. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291header)))))->_count)=(0);
  727. /*]*/
  728. r7extend(((T7*)(oBC291header)),'T');
  729. r2append_in(_rcid,oBC291header);
  730. r7extend(((T7*)(oBC291header)),'\52');
  731. r7append(((T7*)(oBC291header)),((T0*)ms115_470));
  732. r2append_in(_rcid,oBC291header);
  733. r7append(((T7*)(oBC291header)),((T0*)ms97_470));
  734. r7copy(((T7*)(oBC291body)),((T0*)ms105_470));
  735. r2append_in(_rcid,oBC291body);
  736. r7append(((T7*)(oBC291body)),((T0*)ms43_291));
  737. /*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_info_flag/*4*/) {
  738. r491gc_info_nb_in(oBC291body);
  739. r7append(((T7*)(oBC291body)),((T0*)ms44_291));
  740. }
  741. /*FI*/r7append(((T7*)(oBC291body)),((T0*)ms45_291));
  742. r491gc_free_in(oBC291body);
  743. r7append(((T7*)(oBC291body)),((T0*)ms46_291));
  744. r2append_in(r548threshold_start(_rcid),oBC291body);
  745. r7extend(((T7*)(oBC291body)),'\74');
  746. r491gcmt_used_in(oBC291body);
  747. r7append(((T7*)(oBC291body)),((T0*)ms47_291));
  748. r7append(((T7*)(oBC291body)),((T0*)ms89_470));
  749. r491gc_free_in(oBC291body);
  750. r7append(((T7*)(oBC291body)),((T0*)ms48_291));
  751. r2append_in(_rcid,oBC291body);
  752. r7append(((T7*)(oBC291body)),((T0*)ms49_291));
  753. r491gc_free_in(oBC291body);
  754. r7append(((T7*)(oBC291body)),((T0*)ms50_291));
  755. r491gc_free_in(oBC291body);
  756. r7append(((T7*)(oBC291body)),((T0*)ms51_291));
  757. /*[IRF3.6gc_set_unmarked_in*/{T0* b1=oBC291body;
  758. r7append(((T7*)b1),((T0*)ms63_291));
  759. }/*]*/
  760. r7append(((T7*)(oBC291body)),((T0*)ms52_291));
  761. r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
  762. }
  763. /*No:TYPE_STRING.is_any*/
  764. /*No:TYPE_STRING.to_reference*/
  765. /*No:TYPE_STRING.c_header_pass3*/
  766. /*No:TYPE_STRING.fz_new_pool*/
  767. /*No:TYPE_STRING.base_class_name*/
  768. /*No:TYPE_STRING.is_expanded*/
  769. void r491standard_call_gc_sweep_in(T0* a1){
  770. r7append(((T7*)a1),((T0*)ms108_470));
  771. r2append_in(7,a1);
  772. r7extend(((T7*)a1),'\50');
  773. r7extend(((T7*)a1),'\51');
  774. r7append(((T7*)a1),((T0*)ms134_470));
  775. }
  776. /*No:TYPE_STRING.gc_if_unmarked_in*/
  777. /*No:TYPE_STRING.is_basic_eiffel_expanded*/
  778. /*No:TYPE_STRING.is_none*/
  779. /*No:TYPE_STRING.to_expanded*/
  780. /*No:TYPE_STRING.is_integer*/
  781. void r491c_header_pass4(T491* C){
  782. r491standard_c_struct(C);
  783. r491standard_c_object_model(C);
  784. }
  785. /*No:TYPE_STRING.fz_struct*/
  786.  
  787.